package com.xianyun.site.iblog.api.user;

import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.xianyun.site.iblog.co.user.SystemUserCO;
import com.xianyun.site.iblog.dto.user.*;


/**
 * 系统用户支撑服务
 * @author mac_zyj
 */
public interface SystemUserServiceI {
    /**
     * 获取用户信息
     * @param systemUserInfoQry 参数封装类
     * @return 用户信息
     */
    SingleResponse<SystemUserCO> getSystemUserInfoByToken(SystemUserInfoQry systemUserInfoQry);


    /**
     * 注册用户
     * @param systemUserAddCmd 参数封装类
     * @return 结果
     */
    Response registerUser(SystemUserAddCmd systemUserAddCmd);

    /**
     * 修改用户信息
     * @param systemUserUpdateCmd 参数封装类
     * @return 结果
     */
    Response updateUserInfo(SystemUserUpdateCmd systemUserUpdateCmd);


    /**
     * 修改用户名称 一个用户只可以修改一次用户名且不能修改成中文
     * @param userNameChangeCmd 用户名信息
     * @return 结果
     */
    Response updateUserName(UserNameChangeCmd userNameChangeCmd);

    /**
     * 修改密码
     * @param systemUserChangeCmd  参数封装类
     * @return 结果
     */
    Response changeUserPassword(UserPasswordChangeCmd systemUserChangeCmd);

    /**
     * 邮件修改
     * @param emailChangeCmd 参数封装类
     * @return 结果
     */
    Response changeNewEmail(EmailChangeCmd emailChangeCmd);
}
